package cannes.bean.vip;

/***********************************************************************
 * Module:  Vip.java
 * Author:  p1000666
 * Purpose: Defines the Class Vip
 ***********************************************************************/
import java.util.*;
import cannes.bean.planning.*;

public class Vip extends Personne {

    private String type;
    private int attrait;
    private int compagnonId;
    private Set<Echange> listeEchange = new HashSet<Echange>();
    private Set<Action> listeAction = new HashSet<Action>();

    public Vip() {
    }

    public Vip(int id, int compagnonId, String type, int attrait, String nom, String prenom, String photo, String nationalite) {
        super(id, nom, prenom, photo, nationalite);
        this.compagnonId = compagnonId;
        this.type = type;
        this.attrait = attrait;
    }

    public void setListeAction(Set<Action> listeAction) {
        this.listeAction = listeAction;
    }

    public void setListeEchange(Set<Echange> listeEchange) {
        this.listeEchange = listeEchange;
    }

    public void setType(String type) {
        this.type = type;
    }

    public void setAttrait(int attrait) {
        this.attrait = attrait;
    }

    public void setCompagnonId(int id) {
        this.compagnonId = id;
    }

    public Set<Echange> getListeEchange() {
        return listeEchange;
    }

    public Set<Action> getListeAction() {
        return listeAction;
    }

    public String getType() {
        return type;
    }

    public int getAttrait() {
        return attrait;
    }

    public int getCompagnonId() {
        return compagnonId;
    }

    public void addEchange(Echange e) {
        if (!this.listeEchange.contains(e)) {
            this.listeEchange.add(e);
        }
    }

    public void removeEchange(Echange e) {
        this.listeEchange.remove(e);
    }

    public void addAction(Action a) {
        if (!this.listeAction.contains(a)) {
            this.listeAction.add(a);
        }
    }

    public void removeAction(Action a) {
        this.listeAction.remove(a);
    }
}
